// backend/models/User.js
const mongoose = require('mongoose');

// 用户数据模型
const userSchema = new mongoose.Schema({
  // 微信相关字段
  openid: {
    type: String,
    unique: true,
    sparse: true
  },
  
  // 用户基本信息
  nickname: String,        // 微信昵称
  avatar: String,         // 微信头像URL
  phone: {
    type: String,
    sparse: true
  },                      // 手机号
  
  // 登录方式
  loginMethod: {
    type: String,
    enum: ['wechat', 'sms', 'password'],
    default: 'wechat'
  },
  
  // 用户角色
  role: {
    type: String,
    enum: ['user', 'courier', 'admin'],
    default: 'user'
  },
  
  // 时间戳
  createdAt: {
    type: Date,
    default: Date.now
  },
  updatedAt: {
    type: Date,
    default: Date.now
  },
  lastLoginAt: {
    type: Date,
    default: Date.now
  }
});

// 在保存前更新updatedAt
userSchema.pre('save', function(next) {
  this.updatedAt = Date.now();
  next();
});

module.exports = mongoose.model('User', userSchema);